package com.yanghui.dao;

import com.yanghui.pojo.Blog;
import com.yanghui.pojo.BlogExample;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface BlogMapper {
    long countByExample(BlogExample example);

    int deleteByExample(BlogExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Blog record);

    int insertSelective(Blog record);

    List<Blog> selectByExampleWithBLOBs(BlogExample example);

    List<Blog> selectByExample(BlogExample example);

    Blog selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Blog record, @Param("example") BlogExample example);

    int updateByExampleWithBLOBs(@Param("record") Blog record, @Param("example") BlogExample example);

    int updateByExample(@Param("record") Blog record, @Param("example") BlogExample example);

    int updateByPrimaryKeySelective(Blog record);

    int updateByPrimaryKeyWithBLOBs(Blog record);

    int updateByPrimaryKey(Blog record);

    /**
     * 按博客状态查询博客数量
     */
    List<?> selectBlogListByStatus();

    /**
     * 按照博客点击量降序
     * 取出前几条数据
     * id,clickNum
     * 可以通过id查看对应的博客信息
     */
    List<?> selectBlogByClick();

    List<?> selectBlogByDate(Map<String, Object> map);

    List<Blog> selectBlogByAllType();

    /**
     * 查询下一篇博客
     */
    Blog selectNextBlog(@Param("id") Integer id);

    /**
     * 查询上一篇博客
     */
    Blog selectPrevBlog(Integer id);

    /**
     * 按照查询条件模糊查询博客
     */
    List<Blog> selectLikeBlogListByPage(Map<String, Object> map);
}